package cn.swpu.blog.dao;

import cn.swpu.blog.dto.UpdateTimeDto;
import cn.swpu.blog.entity.Blog;
import cn.swpu.blog.from.UpdateBlogFrom;
import org.springframework.stereotype.Component;

import java.util.Date;
import java.util.List;


@Component
public interface BlogMapper {
    int deleteByPrimaryKey(Integer blogId);

    int insert(Blog record);

    /**
     * 次方法传入的blog有ID
     * @return
     */
    int insertAgain(Blog blog);

    Blog selectByPrimaryKey(Integer blogId);

    List<Blog> selectAll();

    int updateByPrimaryKey(Blog record);

    /**
     * 置顶博文
     * @param blogId
     * @return
     */
    int setTop(Integer blogId);

    /**
     *
     * @param blogId
     * @return
     */
    int cancelTop(Integer blogId);

    /**
     * 根据id查询创建时间
     * @param blogId
     * @return
     */
    Date selectDateByBlogId(Integer blogId);

    /**
     * 根据Id查询浏览次数
     * @param blog
     * @return
     */
    int selectBrowseCountByBlogId(Integer blog);

    /**
     * 根据id和日期更新时间
     * @param from
     * @return
     */
    int updateDateByBlogId(UpdateTimeDto from);

}